module.exports = function(grunt) {

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        dirs: {
            src: 'src/app/',
            dest: 'src/app/dist/'
        },
        concat: {
            basic: {
                src: ['<%= dirs.src %>/bower_components/*/*.min.js'],
                dest: '<%= dirs.dest %>/lib.js',
            },
            extras: {
                src: ['<%= dirs.src %>/scrpit/*.js'],
                dest: '<%= dirs.dest %>/main.js',
            },
        },
        uglify: {
            option: {
                mangle: false,
                banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
                    '<%= grunt.template.today("yyyy-mm-dd") %> */'
            },
            files: {
                expand: true,
                cwd: "src",
                src: ['<%= dirs.src %>/script/*.js'],
                dest: '<%= dirs.src %>/srcipt/'
            }
        },
        jshint: {
            files: ["src/script/*.js", "test/**/*.js"],
            option: {
                globals: {
                    jQuery: true,
                    console: true,
                    module: true,
                    document: true,
                    angular: true
                }
            }
        },
        watch: {
            files: ['<%=dirs.src %>/script', 'Gruntfile.js'],
            tasks: ['jshint', 'concat', 'uglify']
        }
    });
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-concat');


    grunt.registerTask('test', ['jshint', 'qunit']);
    // 默认被执行的任务列表。
    grunt.registerTask('default', ['jshint', 'uglify', 'concat', "watch"]);
};